﻿using mozhi.smarterp.Finance.Enums;
using System;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;

namespace mozhi.smarterp.Finance.AccountsPayables.PurchasePayables
{
    public interface IPurchasePayableAppService : IApplicationService
    {
        Task<PurchasePayableDto> GetAsync(Guid id);

        Task<PagedResultDto<PurchasePayableDto>> GetListAsync(PurchasePayablePagedResultRequestDto filter);

        Task<PurchasePayableDto> CreateAsync(PurchasePayableCreateDto input);

        Task<PurchasePayableDto> UpdateAsync(PurchasePayableUpdateDto input);

        Task DeleteAsync(Guid id);

        Task UpdateStatusAsync(Guid id , DocumentStatusType status);

        Task<Guid> PushPaymentAsync(Guid id);
    }
}
